1. Technical Field
The present invention relates to a method and apparatus for data processing in general and, in particular, to a method and apparatus for configuring direct access storage device. Still more particularly, the present invention relates to a method and apparatus for configuring redundant array of independent disks (RAID).
2. Description of the Prior Art
Redundant array of independent disks (RAID) is a method of storing data using multiple locations on more than one physical hard disk. By placing data on multiple hard disks, disk I/O operations can overlap in a balanced way. A RAID appears to an operating system as a single logical hard disk. RAID employs the technique of striping, which involves partitioning the storage space of each hard disk into small units ranging from a sector of 512 bytes up to several megabytes.
In a single-user system where large records, such as medical or other scientific images, are stored, stripes are typically set up to be small (perhaps 512 bytes) so that a single record spans all hard disks and can be accessed quickly by reading all hard disks at the same time. In a multi-user system, better performance requires establishing a stripe wide enough to hold a typical or maximum size record in order to allow overlapped disk I/O operations across multiple hard disks. Examples of various types of RAID are listed as follows:
RAID-0: RAID-0 has striping but no redundancy of data. It offers the best performance but no fault-tolerance.
RAID-1: RAID-1 is also known as disk mirroring and consists of at least two hard drives. There is no striping. Read performance is good since either hard disk can be read at the same time. Write performance is the same as the single disk storage. RAID-1 provides the best performance and the best fault-tolerance in a multi-user system.
RAID-2: RAID-2 uses striping across hard disks with some disks storing error checking and correcting (ECC) information.
RAID-3: RAID-3 uses striping and dedicates one hard disk to storing parity information. Embedded ECC information is used to detect errors. Data recovery is accomplished by calculating an exclusive OR (XOR) of the information recorded on the other hard disks. Since an disk I/O operation addresses all the hard disks at the same time, RAID-3 cannot overlap disk I/O operations. For this reason, RAID-3 is best for single-user systems with long record applications.
RAID-4: RAID-4 uses large stripes, which means records can be read from any single hard disk. Since all write operations have to update a parity disk, no disk I/O operation overlapping is possible.
RAID-5: RAID-5 includes a rotating parity array, thus, addressing the write limitation in RAID-4. Thus, all read and write operations can be overlapped. RAID-5 stores parity information but not redundant data (but parity information can be used to reconstruct data). RAID-5 requires at least three and usually five hard disks. RAID-5 is best for multi-user systems in which performance is not critical or few write operations are performed.
RAID-6: RAID-6 is similar to RAID-5 but includes a second parity scheme that is distributed across different hard disks and thus offers extremely high fault tolerance.
RAID-7: RAID-7 includes a real-time embedded operating system as a controller, caching via a high-speed bus, and other characteristics of a stand-alone computer.
10 RAID-10: RAID-10 offers an array of stripes in which each stripe is a RAID-1 array of hard disks. RAID-10 offers higher performance than RAID-1 but at much higher cost.
RAID-53: RAID-53 offers an array of stripes in which each stripe is a RAID-3 array of hard disks. RAID-53 offers higher performance than RAID-3 but at much higher cost.
The present disclosure provides an improved method and system for configuring RAID that is applicable to any of the above-mentioned RAID examples.
In accordance with a preferred embodiment of the present invention, a redundant array of independent disks (RAID) includes a processor tray having a host processor, and a drive tray having a bridge chip and multiple attachment chips. The attachment chips are connected to each other in a loop configuration. Each of the attachment chips, which is assigned with an unique node ID, is connected to a respective disk drive. The host processor can direct more than one attachment chip to participate, in various ways, to a single data transfer around the loop. This is accomplished by directing the data transfer to a specified node ID, after configuring all the other attachment chips with temporary alias node ID identical to the specified node ID to which the data transfer operation is directed.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.